﻿$(document).ready(function () {

    //Prepare WebGL
    webGLStart();

    $('#display').attr("disabled", "disabled");
    $('#sequence').attr("disabled", "disabled");

    // Step Size control
    $("#stepSize").val(1);

    $("#stepSize").keyup(function () {

        if (($("#stepSize").val() < 1) || ($("#stepSize").val() > 9000)) {
            $("#stepSize").val(1);
        }
        else if ($("#stepSize").val() != Math.floor($("#stepSize").val())) {
            $("#stepSize").val(Math.floor($("#stepSize").val()));
        }
    });


    // Step Speed controls
    $("#stepSpeed").val(.25);

    $("#stepSpeed").keyup(function () {

        if (($("#stepSpeed").val() < .001) || ($("#stepSpeed").val() > 900)) {
            $("#stepSpeed").val(.001);
        }
    });

    // Show one frame at a time
    $("#display").click(function () {
        displayAtoms()
    });

    var interval = null;

    // Play through the frames
    $("#sequence").click(function () {
        interval = setInterval(displayAtoms, $("#stepSpeed").val() * 1000);
    });

    function displayAtoms() {

        if (displayTimer == 0) {
            clearScene();
            drawAtoms(trajectory.frames[displayTimer]);
            displayTimer += parseInt($("#stepSize").val());
        }

        else {
            updateAtoms(trajectory.frames[displayTimer]);
            displayTimer += parseInt($("#stepSize").val());
        }

        $("#curFrame").text((displayTimer - $("#stepSize").val()) + "/" + (trajectory.frames.length - 1));

        if (interval != null && displayTimer >= trajectory.frames.length) {
            clearInterval(interval);
        }
    }
});